class Task11:
    def run(self, array):
        if len(array) == 0:
            return None
        return self.run_inner(array, 0, len(array))

    def run_inner(self, array, start, end):
        length = end - start
        if length == 1:
            return array[start]
        elif array[start] < array[end - 1]:
            return array[start]
        else:
            middle = (start + end) // 2
            return min(self.run_inner(array, start, middle), self.run_inner(array, middle, end))
